package com.yunhe.policyfulfillment.constant;

import com.yunhe.policyfulfillment.policyful.domain.Appeal;

/**
 * @ClassName PolicyFulfillment
 * @Description 政策兑现枚举
 * @Author HeTao
 * @Date 2021/7/21 15:25
 * @Version 1.0
 **/
public class PolicyFulfillmentConstant {

    public enum Online_Type {
        Online("01", "上线"),
        Offline("02","下线");
        private String value;
        private String title;
        Online_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum Top_Type {
        Top("01", "置顶"),
        NotTop("02","不置顶");
        private String value;
        private String title;
        Top_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum Hot_Type {
        Hot("01", "热门"),
        NotHot("02","非热门");
        private String value;
        private String title;
        Hot_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum New_Type {
        New("01", "新"),
        NotNew("02","非新");
        private String value;
        private String title;
        New_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum Declare_Type {
        NoStart("01", "未开始"),
        Declaring("02","申报中"),
        HasEnded("03","已截止");
        private String value;
        private String title;
        Declare_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    //申报对象
    public enum DeclarationObject {
        Person("01", "个人"),
        Enterprise("02","企业"),
        ;
        private String value;
        private String title;
        DeclarationObject(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    //申报方式
    public enum DeclarationMathod {
        DeclareAnyTime("01", "随时申报"),
        DeclarationAccordingNotice("02","按通知申报"),
        DeclarationWithInvestmentPromotionAgreement("03","随招商协议申报"),
        ;
        private String value;
        private String title;
        DeclarationMathod(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    //申报状态
    public enum DeclarationStatus {
        InProcess("01", "办理中"),
        Completed("02","已完成"),
        Suspension("03","中止申请"),
        SupplementaryMaterials("04","补充材料"),
        ;
        private String value;
        private String title;
        DeclarationStatus(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static DeclarationStatus byValue(String value) {
            DeclarationStatus[] values = DeclarationStatus.values();
            for (DeclarationStatus item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    /**
     * 事项审批节点
     */
    public enum Matter_Audit_Node {
        CompanyAudit("0", "企业申请"),
        SupervisorOrgEarlyAudit("1","主管部门初审"),
        PolicyEnforcementOfficeAudit("2","政策兑现办审核"),
        SupervisorOrgReview("3","主管部门复审"),
        ParkAudit("4","园区终审"),
        FinancialAudit("5","财政审核"),
        ParkPublicityAppropriation("6","园区公示拨付"),
        Disbursed("7","已拨付"),
        Suspend("8","中止"),;
        private String value;
        private String title;
        Matter_Audit_Node(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static Matter_Audit_Node byValue(String value) {
            Matter_Audit_Node[] values = Matter_Audit_Node.values();
            for (Matter_Audit_Node item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum Matter_Audit_Status {
        AuditPass("01", "审核通过"),
        Dismissed("02","驳回"),
        SupplementaryMaterials("03","补充材料"),
        Suspend("04","中止"),
        CompleteSupplementaryMaterials("05","已补充材料");
        private String value;
        private String title;
        Matter_Audit_Status(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static Matter_Audit_Status byValue(String value) {
            Matter_Audit_Status[] values = Matter_Audit_Status.values();
            for (Matter_Audit_Status item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum CurrentAuditStatus {
        Normal("0", "正常"),
        Locked("1","锁定"),;
        private String value;
        private String title;
        CurrentAuditStatus(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum Role_Name {
        Admin("Admin", "管理员"),
        SupervisorOrg("SupervisorOrg","主管部门"),
        PolicyEnforcementOfficeAudit("PolicyEnforcementOfficeAudit","政策兑现办"),
        Park("Park","园区"),
        Financial("Financial","财政"),
        PartyGovernmentOffice("PartyGovernmentOffice", "党政办");
        private String value;
        private String title;
        Role_Name(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static Role_Name byValue(String value) {
            Role_Name[] values = Role_Name.values();
            for (Role_Name item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
    }

    //政企直通车诉求办理状态
    public enum Handle_State{
        ToBeDistributed("01", "待分发"),
        Todo("02", "待处理"),
        Handled("03", "已处理"),
        termination("04", "中止"),
        OverdueProcessing("05", "逾期办理中"),
        OverdueHandled("06", "逾期已处理");
        private String value;
        private String title;
        Handle_State(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    //政企直通车诉求诉求类型
    public enum Appeal_Type{
        Suggestion("01", "建议"),
        Help("02", "求助"),
        Consult("03", "咨询"),
        Complaint("04", "投诉");

        private String value;
        private String title;
        Appeal_Type(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    //政企直通车诉求诉求类别
    public enum Appeal_Category{
        Work("01", "用工"),
        LandUse("02", "用地"),
        Financing("03", "融资"),
        Tax("04", "税务"),
        Rent("05", "租金"),
        FinancialSupport("06", "资金支持"),
        TradeImportExport("07", "商贸与进出口"),
        Construction("08", "施工建设"),
        EnvironmentProtect("09", "环境保护"),
        MarketSupervision("10", "市场监督"),
        Other("99", "其他");

        private String value;
        private String title;
        Appeal_Category(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }

    public enum OrgType {
        CompetentAuthority("CompetentAuthority", "主管部门"),
        PolicyOffice("PolicyOffice","政策办"),
        PartyGovernmentOffice("PartyGovernmentOffice", "党政办"),
        Financial("Financial", "财政"),
        Park("Park","园区");
        private String value;
        private String title;
        OrgType(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static OrgType byValue(String value) {
            OrgType[] values = OrgType.values();
            for (OrgType item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
    }

    public enum CompanyAuditNode {
        ToBeReviewed("01", "待审核"),
        AuditPass("02","审核通过"),
        Reject("03", "驳回"),
        ;
        private String value;
        private String title;
        CompanyAuditNode(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static CompanyAuditNode byValue(String value) {
            CompanyAuditNode[] values = CompanyAuditNode.values();
            for (CompanyAuditNode item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
    }

    public enum CompanyAuditStatus {
        AuditPass("01","审核通过"),
        Reject("02", "驳回"),
        ;
        private String value;
        private String title;
        CompanyAuditStatus(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
        public boolean equals(String value) {
            return this.value().equals(value);
        }
        public static CompanyAuditStatus byValue(String value) {
            CompanyAuditStatus[] values = CompanyAuditStatus.values();
            for (CompanyAuditStatus item : values) {
                if (item.equals(value)) {
                    return item;
                }
            }
            return null;
        }
    }

    //企业用户所属行业
    public enum CompanyUserIndustry{
        Industry("01", "工业"),
        Service("02", "服务业"),
        Commerce("03", "商贸业"),
        Construction("04", "建筑业"),
        IndividualBusiness("05", "个体工商户");

        private String value;
        private String title;
        CompanyUserIndustry(String value, String title) {
            this.value = value;
            this.title = title;
        }
        public String value() {
            return value;
        }
        public String title() {
            return title;
        }
    }
}
